#ifndef __WIZ_DATATYPE_PARAMETER_HPP__SHANHAOBO_19800429__
#define __WIZ_DATATYPE_PARAMETER_HPP__SHANHAOBO_19800429__

#include "../Base/Type/WizBaseType.hpp"

#include "./WizDataTypeAny.hpp"
#include "./WizDataTypeEnum.hpp"

namespace Wiz
{
    namespace Parameter
    {
        enum eDataType
        {
            eInt,
            eInt32,
            eInt64,
            eUint,
            eUInt32,
            eUInt64,
            eReal,
            eReal32,
            eReal64,
            eString,
            eBool,
        }; /// end of enum Type

        struct Type
        {
            ::Wiz::Enum32::Type<::Wiz::Parameter::eDataType>    m_DataType;
            ::Wiz::String::Type                                 m_Name;
            ::Wiz::Any::Type                                    m_Value;
            ::Wiz::Any::Type                                    m_DefaultValue;
            ::Wiz::String::Type                                 m_Desc;
        }; /// end of struct Type
    } /// end of namespace Parameter
} /// end of namespace Wiz

#endif /*__WIZ_DATATYPE_PARAMETER_HPP__SHANHAOBO_19800429__*/
